/**
 *
 */
package com.zhuoyue.elmt.entity;

import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.eit.eitsite.common.persistence.DataEntity;

/**
 * 故障投诉Entity
 * @author ChenHao
 * @version 2017-01-13
 */
public class WbFaultComplaints extends DataEntity<WbFaultComplaints> {
	
	private static final long serialVersionUID = 1L;
	private String failureNo;		// 故障报告单编号
	private String maintenUnitCode;		// 维保单位代码
	private String maintenanceStaff;		// 维保人员ID
	private String staffName;		// 维保人员姓名
	private String useUnitCode;		// 使用单位代码
	private String internalCode;		// 单位内部编号
	private String safetyOfficer;		// 安全管理人员
	private String deviceCode;		// 设备注册代码
	private String deviceArea;		// 设备所在区域
	private String deviceAddr;		// 设备所在地点
	private Date reportTime;		// 故障报告时间
	private String trappedPeople;		// 是否困人:0,否;1,是
	private String outDifficulty;		// 脱困情况：1，乘客自行脱困；2，管理人员救出；3，保养人员救出；4，救出情况不明
	private String trappedNumber;		// 被困人数
	private String failureStatus;		// 故障状态
	private String createdBy;		// 创建人
	private Date creationDate;		// 创建时间
	private String lastUpdateBy;		// 更新人
	private Date lastUpdateDate;		// 更新时间
	private String failureStatusRemark; //故障状态补充说明
	private String trappedTime;
	private String staffLoginname;
	private String faultNo;          //故障投诉编号
	private String faultState;      //1故障投诉保存，2故障投诉推送，3故障投诉完成
	private String deviceNo;       //设备ID
	private String maintenanceUnitName;  //维保单位名称
	private String remark; // 备注
	private String useUnitName; // 使用单位名称
	
	public WbFaultComplaints() {
		super();
	}

	public WbFaultComplaints(String id){
		super(id);
	}

	public String getMaintenanceUnitName() {
		return maintenanceUnitName;
	}

	public void setMaintenanceUnitName(String maintenanceUnitName) {
		this.maintenanceUnitName = maintenanceUnitName;
	}

	public String getDeviceNo() {
		return deviceNo;
	}

	public void setDeviceNo(String deviceNo) {
		this.deviceNo = deviceNo;
	}

	public String getFaultNo() {
		return faultNo;
	}

	public void setFaultNo(String faultNo) {
		this.faultNo = faultNo;
	}

	public String getFaultState() {
		return faultState;
	}

	public void setFaultState(String faultState) {
		this.faultState = faultState;
	}

	public String getFailureStatusRemark() {
		return failureStatusRemark;
	}

	public void setFailureStatusRemark(String failureStatusRemark) {
		this.failureStatusRemark = failureStatusRemark;
	}

	@Length(min=1, max=100, message="故障报告单编号长度必须介于 1 和 100 之间")
	public String getFailureNo() {
		return failureNo;
	}

	public void setFailureNo(String failureNo) {
		this.failureNo = failureNo;
	}
	
	@Length(min=0, max=20, message="维保单位代码长度必须介于 0 和 20 之间")
	public String getMaintenUnitCode() {
		return maintenUnitCode;
	}

	public void setMaintenUnitCode(String maintenUnitCode) {
		this.maintenUnitCode = maintenUnitCode;
	}
	
	@Length(min=0, max=20, message="维保人员ID长度必须介于 0 和 20 之间")
	public String getMaintenanceStaff() {
		return maintenanceStaff;
	}

	public void setMaintenanceStaff(String maintenanceStaff) {
		this.maintenanceStaff = maintenanceStaff;
	}
	
	@Length(min=0, max=30, message="维保人员姓名长度必须介于 0 和 30 之间")
	public String getStaffName() {
		return staffName;
	}

	public void setStaffName(String staffName) {
		this.staffName = staffName;
	}
	
	@Length(min=0, max=20, message="使用单位代码长度必须介于 0 和 20 之间")
	public String getUseUnitCode() {
		return useUnitCode;
	}

	public void setUseUnitCode(String useUnitCode) {
		this.useUnitCode = useUnitCode;
	}
	
	@Length(min=0, max=20, message="单位内部编号长度必须介于 0 和 20 之间")
	public String getInternalCode() {
		return internalCode;
	}

	public void setInternalCode(String internalCode) {
		this.internalCode = internalCode;
	}
	
	@Length(min=0, max=20, message="安全管理人员长度必须介于 0 和 20 之间")
	public String getSafetyOfficer() {
		return safetyOfficer;
	}

	public void setSafetyOfficer(String safetyOfficer) {
		this.safetyOfficer = safetyOfficer;
	}
	
	@Length(min=1, max=20, message="设备注册代码长度必须介于 1 和 20 之间")
	public String getDeviceCode() {
		return deviceCode;
	}

	public void setDeviceCode(String deviceCode) {
		this.deviceCode = deviceCode;
	}
	
	@Length(min=0, max=10, message="设备所在区域长度必须介于 0 和 10 之间")
	public String getDeviceArea() {
		return deviceArea;
	}

	public void setDeviceArea(String deviceArea) {
		this.deviceArea = deviceArea;
	}
	
	@Length(min=0, max=100, message="设备所在地点长度必须介于 0 和 100 之间")
	public String getDeviceAddr() {
		return deviceAddr;
	}

	public void setDeviceAddr(String deviceAddr) {
		this.deviceAddr = deviceAddr;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getReportTime() {
		return reportTime;
	}

	public void setReportTime(Date reportTime) {
		this.reportTime = reportTime;
	}

	public String getTrappedTime() {
		return trappedTime;
	}

	public void setTrappedTime(String trappedTime) {
		this.trappedTime = trappedTime;
	}

	@Length(min=0, max=1, message="是否困人:0,否;1,是长度必须介于 0 和 1 之间")
	public String getTrappedPeople() {
		return trappedPeople;
	}

	public void setTrappedPeople(String trappedPeople) {
		this.trappedPeople = trappedPeople;
	}
	
	@Length(min=0, max=1, message="脱困情况：1，乘客自行脱困；2，管理人员救出；3，保养人员救出；4，救出情况不明长度必须介于 0 和 1 之间")
	public String getOutDifficulty() {
		return outDifficulty;
	}

	public void setOutDifficulty(String outDifficulty) {
		this.outDifficulty = outDifficulty;
	}
	
	@Length(min=0, max=10, message="被困人数长度必须介于 0 和 10 之间")
	public String getTrappedNumber() {
		return trappedNumber;
	}

	public void setTrappedNumber(String trappedNumber) {
		this.trappedNumber = trappedNumber;
	}
	
	@Length(min=0, max=20, message="故障状态长度必须介于 0 和 20 之间")
	public String getFailureStatus() {
		return failureStatus;
	}

	public void setFailureStatus(String failureStatus) {
		this.failureStatus = failureStatus;
	}
	
	@Length(min=0, max=20, message="创建人长度必须介于 0 和 20 之间")
	public String getCreatedBy() {
		return createdBy;
	}

	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getCreationDate() {
		return creationDate;
	}

	public void setCreationDate(Date creationDate) {
		this.creationDate = creationDate;
	}
	
	@Length(min=0, max=20, message="更新人长度必须介于 0 和 20 之间")
	public String getLastUpdateBy() {
		return lastUpdateBy;
	}

	public void setLastUpdateBy(String lastUpdateBy) {
		this.lastUpdateBy = lastUpdateBy;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getLastUpdateDate() {
		return lastUpdateDate;
	}

	public void setLastUpdateDate(Date lastUpdateDate) {
		this.lastUpdateDate = lastUpdateDate;
	}

	public String getStaffLoginname() {
		return staffLoginname;
	}

	public void setStaffLoginname(String staffLoginname) {
		this.staffLoginname = staffLoginname;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public String getUseUnitName() {
		return useUnitName;
	}

	public void setUseUnitName(String useUnitName) {
		this.useUnitName = useUnitName;
	}
}